#ifndef ELEMENT_H
#define ELEMENT_H
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include <time.h>

// 航班数据结构体
typedef struct FlightData
{
    int id;               // 航班班次
    char flight_num[20];  // 航班号
    char flight_type[20]; // 飞机机型
    char start_city[20];  // 航班起点站
    char start_time[20];  // 起飞时间 时:分
    char arrive_city[20]; // 航班终点站
    char arrive_time[20]; // 到达时间 时:分
    int value;            // 票价
    int max_num;          // 总票数
    int left_num;         // 余票
} FlightData;
// 航班信息节点 - 双向循环链表
typedef struct FlightNode
{
    int len;
    struct FlightNode *prev;
    FlightData data;
    struct FlightNode *next;
} FlightNode;

// 用户数据结构体
typedef struct UserData
{
    int id;
    char name[16];         // 用户名
    char pws[64];          // 用户密码
    char IDcard[18];       // 用户身份证信息
    FlightData ticket[5]; // 航班信息数组:存储用户已购航班信息。
    int ticket_num;
} UserData;
// 用户数据节点 - 单链表
typedef struct UserNode
{
    int len;
    UserData data;
    struct UserNode *next;
} UserNode;

#endif